"""
  lambda 函数是一种快速定义单行的最小函数，可以用在
  任何需要函数的地方

  优点：让代码更加精简，不需要考虑命名的问题

"""

# 常规函数
def fun(x,y):
    return x + y

# 匿名函数
a = lambda x,y: x + y
print(fun(1,2))

# 调用匿名函数
print(a(1,4))


print("*" * 20)

b = [1,2,3,4,5]


# for i in range(len(b)):
#     b[i] = b[i] ** 2
# print(b)


# def f(x):
#     return x ** 2

# result = map(f,b)
# print(list(result))

# result = map(lambda x: x ** 2, b)
# print(list(result))

# 求b列表所有元素的和

from functools import reduce
result = reduce(lambda x,y:x+y,b)
print(result)



